// Copyright (c) 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SVGNames_h
#define SVGNames_h

#include "core/CoreExport.h"
#include "core/dom/QualifiedName.h"
#include "wtf/PassOwnPtr.h"

namespace blink {

class SVGQualifiedName : public QualifiedName { };

namespace SVGNames {

// Namespace
CORE_EXPORT extern const WTF::AtomicString& svgNamespaceURI;

// Tags
CORE_EXPORT extern const blink::SVGQualifiedName& aTag;
CORE_EXPORT extern const blink::SVGQualifiedName& animateTag;
CORE_EXPORT extern const blink::SVGQualifiedName& animateMotionTag;
CORE_EXPORT extern const blink::SVGQualifiedName& animateTransformTag;
CORE_EXPORT extern const blink::SVGQualifiedName& circleTag;
CORE_EXPORT extern const blink::SVGQualifiedName& clipPathTag;
CORE_EXPORT extern const blink::SVGQualifiedName& cursorTag;
CORE_EXPORT extern const blink::SVGQualifiedName& defsTag;
CORE_EXPORT extern const blink::SVGQualifiedName& descTag;
CORE_EXPORT extern const blink::SVGQualifiedName& discardTag;
CORE_EXPORT extern const blink::SVGQualifiedName& ellipseTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feBlendTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feColorMatrixTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feComponentTransferTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feCompositeTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feConvolveMatrixTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feDiffuseLightingTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feDisplacementMapTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feDistantLightTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feDropShadowTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feFloodTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feFuncATag;
CORE_EXPORT extern const blink::SVGQualifiedName& feFuncBTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feFuncGTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feFuncRTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feGaussianBlurTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feImageTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feMergeTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feMergeNodeTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feMorphologyTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feOffsetTag;
CORE_EXPORT extern const blink::SVGQualifiedName& fePointLightTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feSpecularLightingTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feSpotLightTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feTileTag;
CORE_EXPORT extern const blink::SVGQualifiedName& feTurbulenceTag;
CORE_EXPORT extern const blink::SVGQualifiedName& filterTag;
CORE_EXPORT extern const blink::SVGQualifiedName& foreignObjectTag;
CORE_EXPORT extern const blink::SVGQualifiedName& gTag;
CORE_EXPORT extern const blink::SVGQualifiedName& imageTag;
CORE_EXPORT extern const blink::SVGQualifiedName& lineTag;
CORE_EXPORT extern const blink::SVGQualifiedName& linearGradientTag;
CORE_EXPORT extern const blink::SVGQualifiedName& mpathTag;
CORE_EXPORT extern const blink::SVGQualifiedName& markerTag;
CORE_EXPORT extern const blink::SVGQualifiedName& maskTag;
CORE_EXPORT extern const blink::SVGQualifiedName& metadataTag;
CORE_EXPORT extern const blink::SVGQualifiedName& pathTag;
CORE_EXPORT extern const blink::SVGQualifiedName& patternTag;
CORE_EXPORT extern const blink::SVGQualifiedName& polygonTag;
CORE_EXPORT extern const blink::SVGQualifiedName& polylineTag;
CORE_EXPORT extern const blink::SVGQualifiedName& radialGradientTag;
CORE_EXPORT extern const blink::SVGQualifiedName& rectTag;
CORE_EXPORT extern const blink::SVGQualifiedName& svgTag;
CORE_EXPORT extern const blink::SVGQualifiedName& setTag;
CORE_EXPORT extern const blink::SVGQualifiedName& stopTag;
CORE_EXPORT extern const blink::SVGQualifiedName& switchTag;
CORE_EXPORT extern const blink::SVGQualifiedName& symbolTag;
CORE_EXPORT extern const blink::SVGQualifiedName& tspanTag;
CORE_EXPORT extern const blink::SVGQualifiedName& textTag;
CORE_EXPORT extern const blink::SVGQualifiedName& textPathTag;
CORE_EXPORT extern const blink::SVGQualifiedName& titleTag;
CORE_EXPORT extern const blink::SVGQualifiedName& useTag;
CORE_EXPORT extern const blink::SVGQualifiedName& viewTag;
CORE_EXPORT extern const blink::SVGQualifiedName& scriptTag;
CORE_EXPORT extern const blink::SVGQualifiedName& styleTag;
CORE_EXPORT extern const blink::SVGQualifiedName& animateColorTag;

// Attributes
CORE_EXPORT extern const blink::QualifiedName& accent_heightAttr;
CORE_EXPORT extern const blink::QualifiedName& accumulateAttr;
CORE_EXPORT extern const blink::QualifiedName& additiveAttr;
CORE_EXPORT extern const blink::QualifiedName& alignment_baselineAttr;
CORE_EXPORT extern const blink::QualifiedName& alphabeticAttr;
CORE_EXPORT extern const blink::QualifiedName& amplitudeAttr;
CORE_EXPORT extern const blink::QualifiedName& animateAttr;
CORE_EXPORT extern const blink::QualifiedName& arabic_formAttr;
CORE_EXPORT extern const blink::QualifiedName& ascentAttr;
CORE_EXPORT extern const blink::QualifiedName& attributeNameAttr;
CORE_EXPORT extern const blink::QualifiedName& attributeTypeAttr;
CORE_EXPORT extern const blink::QualifiedName& azimuthAttr;
CORE_EXPORT extern const blink::QualifiedName& baseFrequencyAttr;
CORE_EXPORT extern const blink::QualifiedName& baseProfileAttr;
CORE_EXPORT extern const blink::QualifiedName& baseline_shiftAttr;
CORE_EXPORT extern const blink::QualifiedName& bboxAttr;
CORE_EXPORT extern const blink::QualifiedName& beginAttr;
CORE_EXPORT extern const blink::QualifiedName& biasAttr;
CORE_EXPORT extern const blink::QualifiedName& buffered_renderingAttr;
CORE_EXPORT extern const blink::QualifiedName& byAttr;
CORE_EXPORT extern const blink::QualifiedName& calcModeAttr;
CORE_EXPORT extern const blink::QualifiedName& cap_heightAttr;
CORE_EXPORT extern const blink::QualifiedName& clipAttr;
CORE_EXPORT extern const blink::QualifiedName& clip_pathAttr;
CORE_EXPORT extern const blink::QualifiedName& clip_ruleAttr;
CORE_EXPORT extern const blink::QualifiedName& clipPathUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& colorAttr;
CORE_EXPORT extern const blink::QualifiedName& color_interpolationAttr;
CORE_EXPORT extern const blink::QualifiedName& color_interpolation_filtersAttr;
CORE_EXPORT extern const blink::QualifiedName& color_renderingAttr;
CORE_EXPORT extern const blink::QualifiedName& cursorAttr;
CORE_EXPORT extern const blink::QualifiedName& cxAttr;
CORE_EXPORT extern const blink::QualifiedName& cyAttr;
CORE_EXPORT extern const blink::QualifiedName& dAttr;
CORE_EXPORT extern const blink::QualifiedName& descentAttr;
CORE_EXPORT extern const blink::QualifiedName& diffuseConstantAttr;
CORE_EXPORT extern const blink::QualifiedName& directionAttr;
CORE_EXPORT extern const blink::QualifiedName& displayAttr;
CORE_EXPORT extern const blink::QualifiedName& divisorAttr;
CORE_EXPORT extern const blink::QualifiedName& dominant_baselineAttr;
CORE_EXPORT extern const blink::QualifiedName& durAttr;
CORE_EXPORT extern const blink::QualifiedName& dxAttr;
CORE_EXPORT extern const blink::QualifiedName& dyAttr;
CORE_EXPORT extern const blink::QualifiedName& edgeModeAttr;
CORE_EXPORT extern const blink::QualifiedName& elevationAttr;
CORE_EXPORT extern const blink::QualifiedName& enable_backgroundAttr;
CORE_EXPORT extern const blink::QualifiedName& endAttr;
CORE_EXPORT extern const blink::QualifiedName& exponentAttr;
CORE_EXPORT extern const blink::QualifiedName& fillAttr;
CORE_EXPORT extern const blink::QualifiedName& fill_opacityAttr;
CORE_EXPORT extern const blink::QualifiedName& fill_ruleAttr;
CORE_EXPORT extern const blink::QualifiedName& filterAttr;
CORE_EXPORT extern const blink::QualifiedName& filterUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& flood_colorAttr;
CORE_EXPORT extern const blink::QualifiedName& flood_opacityAttr;
CORE_EXPORT extern const blink::QualifiedName& font_familyAttr;
CORE_EXPORT extern const blink::QualifiedName& font_sizeAttr;
CORE_EXPORT extern const blink::QualifiedName& font_size_adjustAttr;
CORE_EXPORT extern const blink::QualifiedName& font_stretchAttr;
CORE_EXPORT extern const blink::QualifiedName& font_styleAttr;
CORE_EXPORT extern const blink::QualifiedName& font_variantAttr;
CORE_EXPORT extern const blink::QualifiedName& font_weightAttr;
CORE_EXPORT extern const blink::QualifiedName& formatAttr;
CORE_EXPORT extern const blink::QualifiedName& frAttr;
CORE_EXPORT extern const blink::QualifiedName& fromAttr;
CORE_EXPORT extern const blink::QualifiedName& fxAttr;
CORE_EXPORT extern const blink::QualifiedName& fyAttr;
CORE_EXPORT extern const blink::QualifiedName& g1Attr;
CORE_EXPORT extern const blink::QualifiedName& g2Attr;
CORE_EXPORT extern const blink::QualifiedName& glyph_nameAttr;
CORE_EXPORT extern const blink::QualifiedName& glyph_orientation_horizontalAttr;
CORE_EXPORT extern const blink::QualifiedName& glyph_orientation_verticalAttr;
CORE_EXPORT extern const blink::QualifiedName& glyphRefAttr;
CORE_EXPORT extern const blink::QualifiedName& gradientTransformAttr;
CORE_EXPORT extern const blink::QualifiedName& gradientUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& hangingAttr;
CORE_EXPORT extern const blink::QualifiedName& heightAttr;
CORE_EXPORT extern const blink::QualifiedName& horiz_adv_xAttr;
CORE_EXPORT extern const blink::QualifiedName& horiz_origin_xAttr;
CORE_EXPORT extern const blink::QualifiedName& horiz_origin_yAttr;
CORE_EXPORT extern const blink::QualifiedName& ideographicAttr;
CORE_EXPORT extern const blink::QualifiedName& image_renderingAttr;
CORE_EXPORT extern const blink::QualifiedName& inAttr;
CORE_EXPORT extern const blink::QualifiedName& in2Attr;
CORE_EXPORT extern const blink::QualifiedName& interceptAttr;
CORE_EXPORT extern const blink::QualifiedName& kAttr;
CORE_EXPORT extern const blink::QualifiedName& k1Attr;
CORE_EXPORT extern const blink::QualifiedName& k2Attr;
CORE_EXPORT extern const blink::QualifiedName& k3Attr;
CORE_EXPORT extern const blink::QualifiedName& k4Attr;
CORE_EXPORT extern const blink::QualifiedName& kernelMatrixAttr;
CORE_EXPORT extern const blink::QualifiedName& kernelUnitLengthAttr;
CORE_EXPORT extern const blink::QualifiedName& keyPointsAttr;
CORE_EXPORT extern const blink::QualifiedName& keySplinesAttr;
CORE_EXPORT extern const blink::QualifiedName& keyTimesAttr;
CORE_EXPORT extern const blink::QualifiedName& langAttr;
CORE_EXPORT extern const blink::QualifiedName& lengthAdjustAttr;
CORE_EXPORT extern const blink::QualifiedName& letter_spacingAttr;
CORE_EXPORT extern const blink::QualifiedName& lighting_colorAttr;
CORE_EXPORT extern const blink::QualifiedName& limitingConeAngleAttr;
CORE_EXPORT extern const blink::QualifiedName& localAttr;
CORE_EXPORT extern const blink::QualifiedName& marker_endAttr;
CORE_EXPORT extern const blink::QualifiedName& marker_midAttr;
CORE_EXPORT extern const blink::QualifiedName& marker_startAttr;
CORE_EXPORT extern const blink::QualifiedName& markerHeightAttr;
CORE_EXPORT extern const blink::QualifiedName& markerUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& markerWidthAttr;
CORE_EXPORT extern const blink::QualifiedName& maskAttr;
CORE_EXPORT extern const blink::QualifiedName& mask_typeAttr;
CORE_EXPORT extern const blink::QualifiedName& maskContentUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& maskUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& mathematicalAttr;
CORE_EXPORT extern const blink::QualifiedName& maxAttr;
CORE_EXPORT extern const blink::QualifiedName& mediaAttr;
CORE_EXPORT extern const blink::QualifiedName& methodAttr;
CORE_EXPORT extern const blink::QualifiedName& minAttr;
CORE_EXPORT extern const blink::QualifiedName& modeAttr;
CORE_EXPORT extern const blink::QualifiedName& nameAttr;
CORE_EXPORT extern const blink::QualifiedName& numOctavesAttr;
CORE_EXPORT extern const blink::QualifiedName& offsetAttr;
CORE_EXPORT extern const blink::QualifiedName& onactivateAttr;
CORE_EXPORT extern const blink::QualifiedName& onbeginAttr;
CORE_EXPORT extern const blink::QualifiedName& onendAttr;
CORE_EXPORT extern const blink::QualifiedName& onfocusinAttr;
CORE_EXPORT extern const blink::QualifiedName& onfocusoutAttr;
CORE_EXPORT extern const blink::QualifiedName& onrepeatAttr;
CORE_EXPORT extern const blink::QualifiedName& onzoomAttr;
CORE_EXPORT extern const blink::QualifiedName& opacityAttr;
CORE_EXPORT extern const blink::QualifiedName& operatorAttr;
CORE_EXPORT extern const blink::QualifiedName& orderAttr;
CORE_EXPORT extern const blink::QualifiedName& orientAttr;
CORE_EXPORT extern const blink::QualifiedName& orientationAttr;
CORE_EXPORT extern const blink::QualifiedName& originAttr;
CORE_EXPORT extern const blink::QualifiedName& overflowAttr;
CORE_EXPORT extern const blink::QualifiedName& overline_positionAttr;
CORE_EXPORT extern const blink::QualifiedName& overline_thicknessAttr;
CORE_EXPORT extern const blink::QualifiedName& paint_orderAttr;
CORE_EXPORT extern const blink::QualifiedName& panose_1Attr;
CORE_EXPORT extern const blink::QualifiedName& pathAttr;
CORE_EXPORT extern const blink::QualifiedName& pathLengthAttr;
CORE_EXPORT extern const blink::QualifiedName& patternContentUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& patternTransformAttr;
CORE_EXPORT extern const blink::QualifiedName& patternUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& pointer_eventsAttr;
CORE_EXPORT extern const blink::QualifiedName& pointsAttr;
CORE_EXPORT extern const blink::QualifiedName& pointsAtXAttr;
CORE_EXPORT extern const blink::QualifiedName& pointsAtYAttr;
CORE_EXPORT extern const blink::QualifiedName& pointsAtZAttr;
CORE_EXPORT extern const blink::QualifiedName& preserveAlphaAttr;
CORE_EXPORT extern const blink::QualifiedName& preserveAspectRatioAttr;
CORE_EXPORT extern const blink::QualifiedName& primitiveUnitsAttr;
CORE_EXPORT extern const blink::QualifiedName& rAttr;
CORE_EXPORT extern const blink::QualifiedName& radiusAttr;
CORE_EXPORT extern const blink::QualifiedName& refXAttr;
CORE_EXPORT extern const blink::QualifiedName& refYAttr;
CORE_EXPORT extern const blink::QualifiedName& rendering_intentAttr;
CORE_EXPORT extern const blink::QualifiedName& repeatCountAttr;
CORE_EXPORT extern const blink::QualifiedName& repeatDurAttr;
CORE_EXPORT extern const blink::QualifiedName& requiredExtensionsAttr;
CORE_EXPORT extern const blink::QualifiedName& requiredFeaturesAttr;
CORE_EXPORT extern const blink::QualifiedName& restartAttr;
CORE_EXPORT extern const blink::QualifiedName& resultAttr;
CORE_EXPORT extern const blink::QualifiedName& rotateAttr;
CORE_EXPORT extern const blink::QualifiedName& rxAttr;
CORE_EXPORT extern const blink::QualifiedName& ryAttr;
CORE_EXPORT extern const blink::QualifiedName& scaleAttr;
CORE_EXPORT extern const blink::QualifiedName& seedAttr;
CORE_EXPORT extern const blink::QualifiedName& shape_renderingAttr;
CORE_EXPORT extern const blink::QualifiedName& slopeAttr;
CORE_EXPORT extern const blink::QualifiedName& spacingAttr;
CORE_EXPORT extern const blink::QualifiedName& specularConstantAttr;
CORE_EXPORT extern const blink::QualifiedName& specularExponentAttr;
CORE_EXPORT extern const blink::QualifiedName& spreadMethodAttr;
CORE_EXPORT extern const blink::QualifiedName& startOffsetAttr;
CORE_EXPORT extern const blink::QualifiedName& stdDeviationAttr;
CORE_EXPORT extern const blink::QualifiedName& stemhAttr;
CORE_EXPORT extern const blink::QualifiedName& stemvAttr;
CORE_EXPORT extern const blink::QualifiedName& stitchTilesAttr;
CORE_EXPORT extern const blink::QualifiedName& stop_colorAttr;
CORE_EXPORT extern const blink::QualifiedName& stop_opacityAttr;
CORE_EXPORT extern const blink::QualifiedName& strikethrough_positionAttr;
CORE_EXPORT extern const blink::QualifiedName& strikethrough_thicknessAttr;
CORE_EXPORT extern const blink::QualifiedName& strokeAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_dasharrayAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_dashoffsetAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_linecapAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_linejoinAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_miterlimitAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_opacityAttr;
CORE_EXPORT extern const blink::QualifiedName& stroke_widthAttr;
CORE_EXPORT extern const blink::QualifiedName& styleAttr;
CORE_EXPORT extern const blink::QualifiedName& surfaceScaleAttr;
CORE_EXPORT extern const blink::QualifiedName& systemLanguageAttr;
CORE_EXPORT extern const blink::QualifiedName& tableValuesAttr;
CORE_EXPORT extern const blink::QualifiedName& targetAttr;
CORE_EXPORT extern const blink::QualifiedName& targetXAttr;
CORE_EXPORT extern const blink::QualifiedName& targetYAttr;
CORE_EXPORT extern const blink::QualifiedName& text_anchorAttr;
CORE_EXPORT extern const blink::QualifiedName& text_decorationAttr;
CORE_EXPORT extern const blink::QualifiedName& text_renderingAttr;
CORE_EXPORT extern const blink::QualifiedName& textLengthAttr;
CORE_EXPORT extern const blink::QualifiedName& titleAttr;
CORE_EXPORT extern const blink::QualifiedName& toAttr;
CORE_EXPORT extern const blink::QualifiedName& transformAttr;
CORE_EXPORT extern const blink::QualifiedName& transform_originAttr;
CORE_EXPORT extern const blink::QualifiedName& typeAttr;
CORE_EXPORT extern const blink::QualifiedName& u1Attr;
CORE_EXPORT extern const blink::QualifiedName& u2Attr;
CORE_EXPORT extern const blink::QualifiedName& underline_positionAttr;
CORE_EXPORT extern const blink::QualifiedName& underline_thicknessAttr;
CORE_EXPORT extern const blink::QualifiedName& unicodeAttr;
CORE_EXPORT extern const blink::QualifiedName& unicode_bidiAttr;
CORE_EXPORT extern const blink::QualifiedName& unicode_rangeAttr;
CORE_EXPORT extern const blink::QualifiedName& units_per_emAttr;
CORE_EXPORT extern const blink::QualifiedName& v_alphabeticAttr;
CORE_EXPORT extern const blink::QualifiedName& v_hangingAttr;
CORE_EXPORT extern const blink::QualifiedName& v_ideographicAttr;
CORE_EXPORT extern const blink::QualifiedName& v_mathematicalAttr;
CORE_EXPORT extern const blink::QualifiedName& valuesAttr;
CORE_EXPORT extern const blink::QualifiedName& vector_effectAttr;
CORE_EXPORT extern const blink::QualifiedName& versionAttr;
CORE_EXPORT extern const blink::QualifiedName& vert_adv_yAttr;
CORE_EXPORT extern const blink::QualifiedName& vert_origin_xAttr;
CORE_EXPORT extern const blink::QualifiedName& vert_origin_yAttr;
CORE_EXPORT extern const blink::QualifiedName& viewBoxAttr;
CORE_EXPORT extern const blink::QualifiedName& viewTargetAttr;
CORE_EXPORT extern const blink::QualifiedName& visibilityAttr;
CORE_EXPORT extern const blink::QualifiedName& widthAttr;
CORE_EXPORT extern const blink::QualifiedName& widthsAttr;
CORE_EXPORT extern const blink::QualifiedName& word_spacingAttr;
CORE_EXPORT extern const blink::QualifiedName& writing_modeAttr;
CORE_EXPORT extern const blink::QualifiedName& xAttr;
CORE_EXPORT extern const blink::QualifiedName& x_heightAttr;
CORE_EXPORT extern const blink::QualifiedName& x1Attr;
CORE_EXPORT extern const blink::QualifiedName& x2Attr;
CORE_EXPORT extern const blink::QualifiedName& xChannelSelectorAttr;
CORE_EXPORT extern const blink::QualifiedName& yAttr;
CORE_EXPORT extern const blink::QualifiedName& y1Attr;
CORE_EXPORT extern const blink::QualifiedName& y2Attr;
CORE_EXPORT extern const blink::QualifiedName& yChannelSelectorAttr;
CORE_EXPORT extern const blink::QualifiedName& zAttr;
CORE_EXPORT extern const blink::QualifiedName& zoomAndPanAttr;

const unsigned SVGTagsCount = 66;
CORE_EXPORT PassOwnPtr<const SVGQualifiedName*[]> getSVGTags();

const unsigned SVGAttrsCount = 242;
PassOwnPtr<const QualifiedName*[]> getSVGAttrs();

void init();

} // SVGNames
} // namespace blink

#endif
